pug 前身就是 jade (改名而已)
這裡我們來看 pug 的基礎寫法
<!DOCTYPE html>
html(lang="en")
    head
        meta(charset="UTF-8")
        meta(name="viewport", content="width=device-width, initial-scale=1.0")
        title Document
        link(rel="stylesheet", href="stylesheet/all.css")
        script(src="js/all.js")
    body
    h1 
        span bb
        | cc
    br 
    | con
html呈現為
會發現 pug 沒有結尾標籤
而是利用一個 tab 來區隔
當然 pug 也可利用 emmet 來撰寫
輸入 ul>li*3>a{link} 並按下 tab
 ul
        li
            a(href="") link
        li
            a(href="") link
        li
            a(href="") link
若要加 class 該怎麼加呢??
.container
        form(action="")
            label(for="email") 請輸入email
            input#email.form-control(type="text")
這裡要注意 id 的寫法 #email
且 input 這裡的class 還有另一種寫法(寫在括號內)
    .container
        form(action="")
            label(for="email") 請輸入email
            input#email(type="text" class="form-control")
h1: a(href=""): span 連結
 h1
    a(href="")
        span 連結
這裡也介紹一個 html 快速轉換為 pug的工具
https://html-to-pug.com/
製作 HTML 樣板
在我們製作樣板的時候
會用到一些語法
include (載入外部區塊)
block
extend
-將其他頁面做為延伸
-內容會在 block 出現
這裡我們先介紹 include
這裡我們把 head 的內容儲存成 head.jade
並在source下開一個 partials資料夾
儲存於此
head.jade
meta(charset="UTF-8")
meta(name="viewport", content="width=device-width, initial-scale=1.0")
title Document
link(rel="stylesheet", href="stylesheet/all.css")
script(src="js/vendors.js")
navbar 也是
navbar.jade
nav.navbar.navbar-expand-lg.navbar-dark.bg-dark
            a.navbar-brand(href='#') Navbar
            button.navbar-toggler(type='button' data-toggle='collapse' data-target='#navbarNav' aria-controls='navbarNav' aria-expanded='false' aria-label='Toggle navigation')
                span.navbar-toggler-icon
            #navbarNav.collapse.navbar-collapse
                ul.navbar-nav
                    li.nav-item.active
                        a.nav-link(href='#')
                        | Home 
                        span.sr-only (current)
接著在 index.jade
加入 include
<!DOCTYPE html>
html(lang="en")
    head
        include partials/head.jade
    body
        include partials/navbar.jade
這樣 include 就完成了~~
再來要介紹 block 與 extend (block 會與 extend 一起使用)
我們先開一個 layout.jade 放在 source 資料夾內
並將 index.jade 的
<!DOCTYPE html>
html(lang="en")
    head
        include partials/head.jade
    body
        include partials/navbar.jade
剪下貼上 並加上 block content
結果(layout.jade)
<!DOCTYPE html>
html(lang="en")
    head
        include partials/head.jade
    body
        include partials/navbar.jade
        block content
所以這時候我們 index.jade 只剩下原本的內容
h1 
    span bb
    | cc
    br 
    | con
    ul
        li
            a(href="") link
        li
            a(href="") link
        li
            a(href="") link
    h1: a(href=""): span 連結
    h1
        a(href="")
            span 連結
    .container
        form(action="")
            label(for="email") 請輸入email
            input#email(type="text" class="form-control")
這裡就開始有關於 extend 啦
我們必須把 index.jade 延伸到 layout.jade上
並要用 block  content 來標出你要延伸的內容(記得加上後 內容要縮排)
extend layout.jade
block  content
    h1 
        span bb
        | cc
        br 
        | con
        ul
            li
                a(href="") link
            li
                a(href="") link
            li
                a(href="") link
        h1: a(href=""): span 連結
        h1
            a(href="")
                span 連結
        .container
            form(action="")
                label(for="email") 請輸入email
                input#email(type="text" class="form-control")
且 我們可以再增加一個 block (ex: block navbar)
extend layout.jade
block  navbar
    include partials/navbar.jade
block  content
    h1 
        span bb
        | cc
        br 
        | con
        ul
            li
                a(href="") link
            li
                a(href="") link
            li
                a(href="") link
        h1: a(href=""): span 連結
        h1
            a(href="")
                span 連結
        .container
            form(action="")
                label(for="email") 請輸入email
                input#email(type="text" class="form-control")
別忘了在layout.jade 上也要增加 (block navbar)
<!DOCTYPE html>
html(lang="en")
    head
        include partials/head.jade
    body
        include partials/navbar.jade
        block content
        block navbar
那今天的介紹就到這裡
若有任何問題 或 內容有誤
都可以跟我說唷